#-*- codeing = utf-8 -*-
#@Time : 2020/10/30 14:46
#@Author : 阳某
#@File : 06.python绘制散点图查看BMI与保险费的关系.py
#@Software : PyCharm

'''
Python绘制散点图查看BMI与保险费的关系
散点图：
用两组数据构成多个坐标点，考察坐标点的分布，判断两变量之间是否存在某种关联或总结坐标点的分布模式
散点图核心的价值在于发现变量之间的关系，然后进行预测分析，做出科学的决策
实例：医疗费用个人数据集中，"身体质量指数BMI"与"个人医疗费用"两者之间的关系

数据集原地址：https://www.kaggle.com/mirichoi0218/insurance/home

'''

import pandas as pd
df = pd.read_csv('./datas/insurance/insurance.csv')
print(df.head(10))
print(df.info())


# 2.pyecharts绘制散点图
# 将数据按照bmi升序排列
df.sort_values(by='bmi',inplace=True)
print(df.head())
bmi = df['bmi'].tolist()
charges = df['charges'].tolist()
print(bmi)
print(charges)
import pyecharts.options as opts
from pyecharts.charts import Scatter
scatter = (
    Scatter()
    .add_xaxis(
        xaxis_data=bmi
    )
    .add_yaxis(
        series_name="",
        y_axis=charges,
        symbol_size=4,  #点的大小
        label_opts=opts.LabelOpts(is_show=False)    #不展示点的数字
    )
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(type_="value"),
        yaxis_opts=opts.AxisOpts(type_="value"),
        title_opts=opts.TitleOpts(title="(BMI-保险费)关系图", pos_left="center")
    )
)
scatter.render_notebook()